<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="description" content="Documentation for Wasserstein" /><meta name="author" content="Patrick T. Komiske III" /><link rel="canonical" href="https://thaler-lab.github.io/Wasserstein/" />
      <link rel="shortcut icon" href="img/favicon.ico" />
    <title>Wasserstein</title>
    <link rel="stylesheet" href="css/theme.css" />
    <link rel="stylesheet" href="css/theme_extra.css" />
        <link href="css/eftheme.css" rel="stylesheet" />
        <link href="css/pygmentize_friendly.css" rel="stylesheet" />

      <script>
        // Current page data
        var mkdocs_page_name = "Home";
        var mkdocs_page_input_path = "index.md";
        var mkdocs_page_url = "/Wasserstein/";
      </script>

    <script src="js/jquery-3.6.0.min.js" defer></script>
    <!--[if lt IE 9]>
      <script src="js/html5shiv.min.js"></script>
    <![endif]-->
      <script>
        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
        })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

        ga('create', 'UA-122962541-3', 'Wasserstein');
        ga('send', 'pageview');
      </script>

</head>

<body class="wy-body-for-nav" role="document">

  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
    <div class="wy-side-scroll">
      <div class="wy-side-nav-search">
  <a href=".">
    <div class="eflogo">
      <img src="./img/eflogowhite.png"  class="eflogo-img"> Wasserstein
    </div>
  </a><div role="search">
  <form id ="rtd-search-form" class="wy-form" action="./search.html" method="get">
      <input type="text" name="q" placeholder="Search docs" title="Type search term here" />
  </form>
</div>
      </div>

      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <ul class="current">
                <li class="toctree-l1 current"><a class="reference internal current" href=".">Home</a>
    <ul class="current">
    <li class="toctree-l2"><a class="reference internal" href="#features">Features</a>
    </li>
    <li class="toctree-l2"><a class="reference internal" href="#references">References</a>
    </li>
    <li class="toctree-l2"><a class="reference internal" href="#copyright">Copyright</a>
    </li>
    </ul>
                </li>
              </ul>
              <p class="caption"><span class="caption-text">Getting Started</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="installation/">Installation</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="demos/">Python Demos</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="examples/">C++ Examples</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="faqs/">FAQs</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="releases/">Release Notes</a>
                  </li>
              </ul>
              <p class="caption"><span class="caption-text">Documentation</span></p>
              <ul>
                  <li class="toctree-l1"><a class="reference internal" href="docs/emd/">EMD</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="docs/emds/">PairwiseEMD</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="docs/externalemdhandler/">External EMD Handlers</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="docs/event/">Events</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="docs/pairwisedistance/">Pairwise Distance</a>
                  </li>
                  <li class="toctree-l1"><a class="reference internal" href="docs/utils/">Utils</a>
                  </li>
              </ul>
      </div>
    </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href=".">Wasserstein</a>

      </nav>
      <div class="wy-nav-content">
        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="." class="icon icon-home" alt="Docs"></a> &raquo;</li><li>Home</li>
    <li class="wy-breadcrumbs-aside">
    </li>
  </ul>
  <hr/>
</div>

          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div class="section" itemprop="articleBody">

                <h1 id="welcome-to-wasserstein">Welcome to Wasserstein</h1>
<p><img src="https://github.com/thaler-lab/EnergyFlow/raw/images/JetCustom_29522924_24981665_EMD.jpg" width="60%"/></p>
<h2 id="features">Features</h2>
<p>The Wasserstein package computes Wasserstein distances and related quantities efficiently. It contains an efficient implementation of the network simplex algorithm originally from the <a href="https://lemon.cs.elte.hu/trac/lemon">LEMON graph library</a>, modified by <a href="https://github.com/nbonneel/network_simplex">Nicolas Boneel</a>, modified by the authors of the <a href="https://pythonot.github.io/">Python Optimal Transport (POT)</a> library, and further modified in this package by Patrick Komiske. The main code is written in C++ with a NumPy-based Python wrapper provided via <a href="http://swig.org/">SWIG</a>.</p>
<p>To get started, check out the <a href="demos">Python Binder Demo</a> or the <a href="examples">C++ Examples</a>.</p>
<p>The following classes contain the main functionalities of Wasserstein:</p>
<ul>
<li><a href="docs/emd">EMD</a>: Computes the Wasserstein distance between two distributions, including a possible penalty term. Can use either the builtin Euclidean ground distance (with the possibility of raising these to a power <code>beta</code>) or a custom ground distance between distributions.
<br><br></li>
<li><a href="docs/emds">PairwiseEMD</a>: Computes pairs of Wasserstein distances between collections of distributions. Multi-threading support is provided via OMP.
<br><br></li>
<li><a href="docs/correlationdimension">CorrelationDimension</a>: The correlation dimension is a type of fractal dimension that estimates dimensionality of the underlying data manifold on which the distributions live. It has been applied to <a href="https://doi.org/10.1103/PhysRevD.101.034009">CMS Open Data</a>.</li>
</ul>
<p>The current version is <code>1.1.0</code>. Changes are summarized in the <a href="releases">Release Notes</a>. Using the most up-to-date version is recommended. As of version <code>0.2.0</code>, tests have been written covering the majority of the code. The source code can be found on <a href="https://github.com/thaler-lab/Wasserstein">GitHub</a>.</p>
<h2 id="references">References</h2>
<p>[1] N. Bonneel, M. van de Panne, S. Paris, W. Heidrich, <em>Displacement interpolation using Lagrangian mass transport</em>, <a href="https://doi.org/10.1145/2070781.2024192">ACM Trans. Graph. <strong>30</strong></a> (2011).</p>
<p>[2] P. T. Komiske, E. M. Metodiev, and J. Thaler, <em>The Metric Space of Collider Events</em>, <a href="https://doi.org/10.1103/PhysRevLett.123.041801">Phys. Rev. Lett. <strong>123</strong> (2019) 041801</a> [<a href="https://arxiv.org/abs/1902.02346">1902.02346</a>].</p>
<p>[3] P. T. Komiske, E. M. Metodiev, and J. Thaler, <em>The Hidden Geometry of Particle Collisions</em>, <a href="https://doi.org/10.1007/JHEP07(2020)006">JHEP <strong>07</strong> (2020) 006</a> [<a href="https://arxiv.org/abs/2004.04159">2004.04159</a>].</p>
<h2 id="copyright">Copyright</h2>
<p>Wasserstein is licensed under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU Puplic License v3</a>. See the <a href="https://github.com/thaler-lab/Wasserstein/blob/master/LICENSE">LICENSE</a> for detailed copyright information.</p>
            </div>
          </div><footer>
    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
        <a href="installation/" class="btn btn-neutral float-right" title="Installation">Next <span class="icon icon-circle-arrow-right"></span></a>
    </div>

  <hr/>

  <div role="contentinfo">
    <!-- Copyright etc -->
      <p>Copyright (C) 2019-2021 Patrick T. Komiske III</p>
  </div>

  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>

        </div>
      </div>

    </section>

  </div>

  <div class="rst-versions" role="note" aria-label="Versions">
  <span class="rst-current-version" data-toggle="rst-current-version">

        <span>
          <a href="https://github.com/thaler-lab/Wasserstein/" class="fa fa-github" style="color: #fcfcfc"> GitHub</a>
        </span>



      <span><a href="installation/" style="color: #fcfcfc">Next &raquo;</a></span>

  </span>
</div>
    <script>var base_url = '.';</script>
    <script src="js/theme_extra.js" defer></script>
    <script src="js/theme.js" defer></script>
      <script src="js/extra.js" defer></script>
      <script src="https://polyfill.io/v3/polyfill.min.js?features=es6" defer></script>
      <script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js" defer></script>
      <script src="search/main.js" defer></script>
    <script defer>
        window.onload = function () {
            SphinxRtdTheme.Navigation.enable(true);
        };
    </script>

</body>
</html>

<!--
MkDocs version : 1.3.0
Build Date UTC : 2022-07-08 04:22:05.226079+00:00
-->
